Choisir un bon mot de passe... d’après la CNIL

mercredi 1er février 2023, par Jean-Philippe Gaulier

Le 17 octobre 2022, la CNIL a revu sa doctrine sur les mots de passe. La bonne nouvelle, c’est qu’il n’y a plus besoin d’en changer tous les 90 jours pour les utilisateurs, la moins bonne nouvelle, c’est que dans sa nouvelle version, la CNIL nous livre un tableau avec une nouvelle colonne nommée « Entropie minimum » avec de jolis nombres sans plus de précision. Qu’est-ce que cela veut dire pour le commun des mortels ? Nous avons décodé ce mystère pour vous ! La CNIL a ainsi décidé de changer ses précédentes recommandations qui indiquaient un nombre clair de caractères pour les remplacer par un niveau de devinabilité. La difficulté immédiate de cette décision réside dans l’incapacité pour le grand public ou l’utilisateur d’appliquer cette recommandation, faute de pouvoir l’interpréter. Ainsi, la CNIL recommande une entropie minimum selon trois cas :

img

Pour comprendre cette entropie minimum, il faut fouiller le code source de la calculette de la CNIL afin qu’il nous livre son secret. Celui-ci tient en une ligne de programme dont nous avons commenté chaque partie :

img

Afin d’accompagner le lecteur face à cette formule complexe, il est de bon ton de prendre un exemple. Choisissons un mot de passe au hasard : Az3rty0) Ce mot de passe est composé de 8 caractères. La matrice de caractères disponibles sur laquelle il s’appuie se décompose ainsi : - 26 lettres minuscules de l’alphabet (a->z) - 26 lettres majuscules de l’alphabet (A->Z) - 10 chiffres (0->9) - 37 caractères spéciaux (sur un clavier AZERTY) soit un total de *99 combinaisons* possibles pour chaque caractère de votre mot de passe. Nous allons donc élever la taille de la matrice à la puissance du nombre de caractères du mot de passe : 99 ^ 8 = 9 227 446 944 279 201 combinaisons possibles La CNIL s’appuie ensuite sur l’entropie de Shannon pour obtenir le calcul des bits d’entropie. Dans les faits, on applique un logarithme base 2 sur le nombre de combinaisons obtenues. Si le principe vous est étranger, voici un résumé simpliste : on va chercher entre quelles puissances de 2 se trouve le nombre que vous soumettez. Par exemple, pour 89, le Log2(89) = 6.47573, arrondi à son entier inférieur, cela nous donnerait 6 bits d’entropie.

img

Dans le cas de notre exemple de mot de passe Az3rty0), nous appliquons donc la même formule : Log2(9 227 446 944 279 201) = 53.0349 La CNIL arrondi le résultat à l’entier inférieur pour vous afficher fièrement que votre mot de passe a une entropie de 53 bits ! Selon le référentiel de la CNIL, ce mot de passe est donc valable comme mot de passe pour un accès restreint, mais pas pour un forum ou un blog… Afin de vous faciliter le travail, nous avons compilé l’ensemble des combinaisons possibles des classes de caractères : minuscule (Min), majuscule (Maj), chiffre (Chi), caractères spéciaux (Spé) afin de calculer la taille de la matrice des caractères disponibles.

img

Pour terminer, nous avons également compilé un ensemble de combinaisons possibles, en nombre de caractères, pour une entropie minimale de 80 bits.

img

Au final, le choix le plus cohérent, restera toujours d’avoir une matrice qui se compose de lettres minuscules et majuscules, de chiffres et de caractères spéciaux. Dans ce cas, le nombre de caractères minimaux pour les deux premiers cas de la CNIL sera : - Pour un forum ou un blog : 13 caractères - Pour une authentification en accès restreint : 8 caractères - Pour une carte bancaire ou un téléphone, un code composé uniquement de chiffres devra en contenir a minima 4.